package com.ruoyi.scale.document;


import com.ruoyi.scale.assembler.ScaleDomainDataAssembler;
import com.ruoyi.scale.document.base.BaseDocumentDomain;
import com.ruoyi.scale.document.refs.ScaleQuestion;
import com.ruoyi.scale.document.refs.ScaleDomainData;
import com.ruoyi.scale.document.refs.ScaleDomainRule;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * 量表配置
 * </p>
 *
 * @author dais
 * @since 2023-07-26
 */
@Getter
@Setter
@Document("scale")
public class Scale extends BaseDocumentDomain {
    private static final long serialVersionUID = 1L;
    private String code;
    /*** 名称 **/
    private String name;
    /*** 接收表单类 **/
    private String inputFormClass;
    /*** 规则名 **/
    private String ruleName;
    /*** 简单描述 **/
    private String simpleDesc;
    /*** 详细描述 **/
    private String detailDesc;
    /**答题总分*/
    private BigDecimal totalScore;
    /**结果展示组件名**/
    private String reportShowComponent;
    /*** 问题列表 **/
    private List<ScaleQuestion> questions;
    /***结果展示组件，默认为 仪表盘**/
    private String resultComponent;
    /**结果展示组件:数据**/
    private String resultComponentCategories;
    /**
     * 其他数据：小量常模数据
     */
    private Object normData;

    /**
     * 执行规则数据
     */
    private List<ScaleDomainData> scaleDomainData;
    /**
     * 总分计算规则
     */
    private List<ScaleDomainRule> totalScoreRule;

    /*** 排序 **/
    private Integer priority;

    /*** 分类id **/
    private Long categoryId;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private Integer delFlag;
}
